/*****************************************************************************
 *   Copyright 2011 ZHUANG Yuan              	                             *
 *   SudokuITS as Final Year Project for BScCS, City University of Hong Kong *
 *                                      									 *
 *   Licensed under the Apache License, Version 2.0 (the "License");         *
 *   you may not use this file except in compliance with the License.        *
 *   You may obtain a copy of the License at                                 *
 *                                                                           *
 *   http://www.apache.org/licenses/LICENSE-2.0                              *
 *                                                                           *
 *   Unless required by applicable law or agreed to in writing, software     *
 *   distributed under the License is distributed on an "AS IS" BASIS,       *
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*
 *   See the License for the specific language governing permissions and     *
 *   limitations under the License.                                          *
 *****************************************************************************/

package android.sudoku.its.util;

public class GameVariables {
	// Common Sudoku variables
	public static final int PUZZLE_LENGTH = 81;
	public static final int HOUSE_SIZE = 9;
	public static final int BLOCK_SIDE_LENGTH = 3;
	
	// Indexes indicating each strategy in the Applicable Strategy Matrix
	public static final int FULL_HOUSE_INDEX = 1;
	public static final int NAKED_SINGLE_INDEX = 2;
	public static final int HIDDEN_SINGLE_INDEX = 3;
	public static final int NAKED_PAIR_INDEX = 4;
	public static final int HIDDEN_PAIR_INDEX = 5;
	public static final int LOCKED_CANDIDATE_INDEX = 6;
	
	public static final String USER_TITLE_GUEST = "Guest";
	
	// Puzzle difficulty level
	public static final int DIFF_LEVEL_BEGINNER = 0;
	public static final int DIFF_LEVEL_INTERMEDIATE = 1;
	public static final int DIFF_LEVEL_ADVANCED = 2;
	
	// Auto-instruction time interval according to puzzle difficulty levels
	public static final int AUTO_INSTR_INTERVAL_DIFF_BEGINNER = 60000;	// 1 minutes
	public static final int AUTO_INSTR_INTERVAL_DIFF_INTERMEDIATE = 90000;	// 1.5 minutes
	public static final int AUTO_INSTR_INTERVAL_DIFF_ADVANCED = 5000;	// 2 minutes

	// Auto-instruction time interval user mastery on Sudoku
	public static final int AUTO_INSTR_INTERVAL_USER_BEGINNER = 60000;	// 1 minutes
	public static final int AUTO_INSTR_INTERVAL_USER_INTERMEDIATE = 90000;	// 1.5 minutes
	public static final int AUTO_INSTR_INTERVAL_USER_ADVANCED = 5000;	// 2 minutes
	
	// Student levels
	public static final int LEVEL_NAIVE = 0;
	public static final int LEVEL_BEGINNER = 1;
	public static final int LEVEL_INTERMEDIATE = 2;
	public static final int LEVEL_ADVANCED = 3;
	
	// Student experience threshold, which is used to determine student level
	public static final int LEVEL_BEGINNER_THRESHOLD = 10;
	public static final int LEVEL_INTERMEDIATE_THRESHOLD = 30;
	
	// Instruction language
	public static final String LANG_CHINESE = "CN";
	public static final String LANG_ENGLISH = "EN";
	
	// House type
	public static final int ROW = 0;
	public static final int COLUMN = 1;
	public static final int BLOCK = 2;
}
